P+ - Donkey Kong - Action - 0x112 SpecialN

Entry Script

  1. IntVariableSet { variable: RandomAccessInt (0x1), value: -1 }
  2. IntVariableSet { variable: RandomAccessInt(ThrowDataParam1), value: -1 }
  3. CreateInterrupt { interrupt_id: None, action: 0x12e, requirement: (AnimationEnd) }
  4. if ((LongtermAccessInt(Temp1) GreaterThanOrEqual InternalConstantInt (0x5dc0)))
    1. CreateInterrupt { interrupt_id: None, action: 0x130, requirement: (ButtonTap) }
  5. else
    1. IntVariableSet { variable: RandomAccessInt (0x0), value: 0 }
  6. BoolVariableSetTrue { variable: RandomAccessBool(EnableActionTransition) }
  7. loop Infinite times:
    1. if (OnGround)
      1. SetEdgeSlide(StayOn)
      2. UnknownEvent { namespace: 0x8, code: 0x1, unk1: 0x0, arguments: [Value(0)] }
      3. SetAirGround(6)
      4. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. ChangeSubactionRestartFrame(SpecialNStart)
      5. else
        1. ChangeSubaction(SpecialNStart)
      6. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
    2. else
      1. SetEdgeSlide(Airbourne)
      2. UnknownEvent { namespace: 0x8, code: 0x1, unk1: 0x0, arguments: [Value(4)] }
      3. SetAirGround(10)
      4. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
        1. ChangeSubactionRestartFrame(SpecialAirNStart)
      5. else
        1. ChangeSubaction(SpecialAirNStart)
      6. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
    3. BoolVariableSetFalse { variable: RandomAccessBool(EnableActionTransition) }
    4. LoopRest

Exit Script

  1. if ((InternalConstantInt(CurrentAction) NotEqual scalar(302)))
    1. IfStatementAnd ((InternalConstantInt(CurrentAction) NotEqual scalar(303)))
    2. IfStatementAnd ((InternalConstantInt(CurrentAction) NotEqual scalar(304)))
    3. IntVariableSet { variable: LongtermAccessInt(Temp1), value: 0 }